Apparatus and method for receiving digital data at a first rate and outputting the data at a different rate

ABSTRACT

A system is disclosed wherein a series bit stream of digital data, at a relatively high bit rate, is received and the data is recorded on a multiple channel recording medium. During the recording of the data, the data is divided into frames of words each having N bits. Each word has a parity bit added so that each word has N+1 bits. In addition, the data for each channel is recorded in frames where each frame includes a synchronization word followed by fixed plurality of data words. Since each recorded frame includes more bits than the originally received data bits per frame, the recording bit rate for each channel is substantially higher than the incoming data bit rate per channel. All frames from the various channels are recorded simultaneously so that the synchronization words from channel to channel are in alignment. During the read-out process, all of the channels are simultaneously read so as to provide a plurality of reconstructed data channels, each including a serial stream of data bits. A decoder is provided for each channel and the various decoders are controlled by a common decoder control circuit.

BACKGROUND AND FIELD OF THE INVENTION

The present invention relates to the art of digital data communicationsand, more particularly, to apparatus and method of converting digitaldata received at one bit rate and then of converting digital datareceived at one bit rate and then outputting the data at a different bitrate.

The present invention has particular application wherein data isobtained at rates which are greater than that which can be received inreal time by state-of-the-art computers. For example, the presentstate-of-the-art computers can read or receive data at rates of upwardsof 1 million bits per second, but not at data rates on the order of, forexample, 20 million bits per second. Image processing systems, forexample, use satellites and may generate data at very high data rates,such as 20 million bits per second, and this data cannot be processed inreal time by a computer.

It is desirable in such a system to record the data on a suitablerecording medium, such as typical magnetic recording tape. This may bedone at essentially the same speed as the data is being received. Later,the data may be read out at a transport speed which permits a lower bitrate. Also, it is desirable in such a system that the data be dividedfrom the single channel, as received, into multiple channels andrecorded on a multiple channel recording medium. During the read-outprocess, the data is read from the multiple channels and should berearranged in the same sequence in which received and then outputted ata desired bit rate for processing by a computer or the like.

In addition to the foregoing, it is also desirable to increase the bitpacking density in order to maximize the number of bits recorded perinch on magnetic tape. This may be accomplished by known recordingschemes. However, a notable disadvantage in high density bit packing isthat bit skew becomes of considerable concern. Skew is defined as thetime displacement between two reproduced data bits that were recordedsimultaneously on different tracks.

It is also desirable in such a system that during the readout process,circuitry be employed for deriving or reconstructing a clock signal fromthe bits recorded in an associated recording track. However, if there isa degradation in the signal level of the bits recorded in that track,then this will adversely affect the reconstructed clock rate.

BRIEF STATEMENT OF THE INVENTION

It is an object then of the present invention to provide a system of thenature described thus far wherein circuitry is provided for minimizingbit skew affects.

It is a still further object of the present invention to monitor thesignal level of the bits recorded in each track, and, if the signallevel is sufficiently degraded, obtain a reconstructed clock signal fromthe bits recorded in a different track.

It is a still further object of the present invention to provide arandom-access memory as a buffer in the writing circuitry to enable theincoming data bits to be clocked at a rate such as to allow sync wordsto be inserted in each frame while still maintaining a continuous outputstream of data.

Moreover, it is a still further object of the present invention toadjust for skew by using a random-access memory in the tape read-outcircuitry for each channel for storing incoming data from thecorresponding tape channel after synchronization has been establishedfor all tracks and then initiating read-out from predetermined locationsin the random-access memory after synchronization is established in allchannels, with the read-out being clocked into an output shift registerwhich is then clocked at a rate to provide a continuous data outputstream with parity and synchronization bits removed.

In accordance with one aspect of the present invention, apparatus isprovided for arranging digital data that is provided in a plurality ofindividual information channels. The data in each of the individualinformation channels may be skewed in time with respect to correspondingportions of the data in the other information channels. The digital dataprovided in each channel includes a continuous serial stream of databits having synchronizing signals periodically included therein; all ofthe channels include a like number of data bits between successivesynchronizing signals. The apparatus for arranging the digital dataincludes a plurality of processing means which are each associated witha corresponding one of the channels. Each processing means includes asuitable storage device together with means for sensing the occurrenceof synchronizing signals in the corresponding channel. The data bits arestored in selected positions in the storage device in accordance withthe position of the data bits in the serial stream with respect to thesynchronizing signals. Also, means are employed for reading out datafrom selected positions in each of the storage means associated witheach of the processing means in a selected sequence. In this manner, thedata is provided in a preselected order independently of any skewoccurring between the channels.

In accordance with another aspect of the present invention, apparatusserves to provide a periodic clock signal in timed relationship todigital data being provided along an information channel. This apparatusincludes means for deriving a primary timing signal directly from thedigital data with the primary timing signal occurring in close timedrelationship to the digital data except when the information channel isdegraded. An alternate timing signal is derived and this also occurs intimed relationship to the digital data although less closely than theprimary timing signal. The amount of degradation in the informationchannel is determined and a timing control signal is provided having avalue corresponding to either the primary timing signal or the alternatetiming signal in accordance with the value of the timing control signal.In this manner, the periodic clock signal occurs in timed relationshipto the digital data regardless of the amount of degradation of theinformation channel.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects and advantages of the present inventionwill become more readily apparent from the following description of apreferred embodiment, as taken in conjunction with the accompanyingdrawings which are a part hereof, and wherein:

FIG. 1 is a block diagram illustration of the present invention;

FIG. 2 is a schematic-block diagram illustration of the encodercircuitry employed in the present invention;

FIG. 3 includes a plurality of waveform representative of variousaspects of the operation of the circuitry of FIG. 2;

FIG. 4 is a schematic-block diagram illustration of the decodercircuitry employed in the present invention;

FIG. 5 is a schematic-block diagram illustration of a bitsynchronization circuit employed in the present invention; and,

FIG. 6 includes a plurality of waveforms illustrating various aspects ofoperation of the circuitry shown in FIGS. 4 and 5.

DETAILED DESCRIPTION

Reference is now made to the drawings wherein the showings are forpurposes of illustrating a preferred embodiment of the invention onlyand not for purposes of limiting same. FIG. 1 provides a schematic-blockdiagram illustration of the system taken as the whole wherein acontinuous data stream at a relatively high bit rate, such as on theorder of 20 million bits per second, is received and recorded on asuitable magnetic recording tape T and which is subsequently read andthen provided at an output as a continuous bit stream of digital data atsome other rate, such as something less than 1 million bits per second.

Such a system has application wherein data is obtained at rates whichare greater than can be received in real time by state-of-the-artcomputers. Thus, present state-of-the-art computers can read or receivedata at rates of upwards of 1 million bits per second, but not at datarates on the order of, for example, 20 million bits per second. Morespecifically, image processing systems using satellites may generatedata at these very high data rates, and this data cannot be processed inreal time by a computer. Consequently then, the data is recorded on amagnetic recording tape such as tape T in FIG. 1 and then read out at atransport speed which permits a lower bit rate.

In the example being given, the input data is clocked into a seriesinput-parallel output shift register SR-1. The shift register is aten-bit shift register and the stream of data is divided so that of eachten bits, one bit is sent to a different channel for encoding purposeswith the data then being recorded in ten channels on the recording tapeT. During the reading process, the bits are read from the ten channelsand rearranged in the same sequence at which they were received as theyare outputted to form an output bit stream. As will be described ingreater detail with reference to FIGS. 2-6, the recording process usesencoders EN-1 through EN-10 for the associated channels together with acommon encoder control CEC which receives the input data clock from theshift register SR and uses this clock to generate the various timing andcontrols for operating the encoders. The encoders, in turn, operatesuitable magnetic tape recording equipment including combined amplifierrecorder heads R1-R10 which are properly positioned on tape T forrecording the data in ten different tracks.

The receiving equipment includes a decoder for each channel to decodethe information read from its associated track on tape T. Thus, thereare ten decoders DE-1 through DE-10 associated with the respectivechannels and each receives data from its associated magnetic tapereading waveforms including read heads RD-1 through RD-10. These areconventional and it is assumed that each includes the appropriateequipment for reading an associated track on tape T to produce an analogsignal upon detection of each recorded bit. The analog signals are thentransmitted to the associated decoder. The decoders are controlled by acommon decoder control circuit CDC. The data bits decoded by decodersDE-1 through DE-10 are then multiplexed back into a serial bit stream bymeans of a parallel-in series-out shift register SR-2 with the bitsbeing shifted out under control of the common decoder control circuitCDC. The encoders and common encoder control are described in greaterdetail hereinafter with reference to FIGS. 2 and 3 and the decoders andthe common decoder control are described in greater detail hereinafterwith reference to FIGS. 4, 5, and 6.

Each data channel is broken into data frames with each frame consistingof 60, 7-bit words for a total of 420 bits. This frame is increasedsomewhat in length in that a parity bit is added to each 7-bit word toobtain 60, 8-bit words and a 24-bit synchronization word is added. Thus,the frame, as recorded on tape T, includes a total of 504 bits which arerecorded in a serial stream. These bits are recorded at a higher bitpacking density then that normally employed in recording binary data.Normally, binary data is recorded at saturation levels and this limitsthe packing density to approximately 1,600 bits per inch (BPI).Consequently then, for an 8-track recording tape the packing density islimited to 12,800 BPI. It is known that packing density may be increasedin recording binary data by recording at levels somewhat less than thesaturation level. Less flux is required to record each bit and thismeans that less time and energy is required. Such recording equipment isknown in the art together with appropriate reading equipment and, forexample, may be obtained from the Honeywell Corporation. Since the bitsize is smaller for each bit recorded, more channels can be used for thesame size tape. For example, the 8-tracks referred to above could beincreased to 20-tracks and the packing density for each track may beincreased to 24,000 BPI. Consequently then, on a half inch recordingtape, the packing density then may be increased from 12,800 BPI to480,000 BPI.

There is a notable disadvantage in such high density bit packing; bitskew becomes a considerable concern. Skew may be defined as the timedisplacement between two reproduced data bits that were recordedsimultaneously on different tracks, such as tracks 1 and 10 illustratedin FIG. 1. Skew may be divided between static skew and dynamic skew.Static skew is caused by fixed physical parameters or changes whichoccur so slowly that they can be considered as fixed. Dynamic skew isthe more rapid changes which occur during operation. The parameterswhich produce static skew in a multiple track machine include head stackplacement, gap scatter and head azimuth, and changes in tape dimensions.The parameters which produce dynamic skew are interchannel timedisplacement error and series time base error.

With reference to FIG. 1, the mark in channel 10 may be considered syncword S-10 which has been recorded in that track and the mark in channel1 may be considered as sync word S-1 recorded on that track. But for theskew factor, these two sync words should be in alignment. Because ofskew parameters outlined above, however, these sync words will bedisplaced in the longitudinal direction by an unknown amount. As statepreviously, the skew factor is particularly noticeable when high packingdensity is employed. Thus, essentially 15 bits are now recorded in thesame area as one bit previously (when the previous 8-track recordingdensity is 1,600 BPI). Therefore, as the tape T is stretched andotherwise subjected to mechanical variations, or as the locations of theread heads or the write heads are off somewhat, the skew factorincreases. The skew may be as high, for example, as 100 bits.

Because skew is both dynamic and static components, as discussed above,the manner in which the data is collated from all of the tracks inaccordance with the present invention, is to insert synchronizationinformation, such as sync words S-1 and S-10, at definite knownintervals. Moreover, the frame length for each channel is chosen so asto exceed the maximum skew which is likely to occur. Since the skew maybe on the order of 100 bits in the example given here, a recorded framelength of 504 bits is well beyond the anticipated maximum skew. The syncwords added to the ten channels are employed by the decoding electronicsto minimize any adverse affect of skew.

Within each decoder, circuitry is employed for purposes of deriving orreconstructing a clock signal from the bits recorded in the associatedtrack. However, if there is a degradation in the signal level of thebits recorded in that track, then this will adversely affect thereconstructed clock rate. For this reason, each decoder employscircuitry for monitoring the signal level of the bits recorded in theassociated track and if the signal level is sufficiently degraded, thedecoder will obtain a reconstructed clock signal from one of the otherdecoders in the read-out circuitry. This is explained in greater detailwith reference to FIGS. 4 and 5.

Having now briefly described the system with reference to FIG. 1,attention is now directed to FIGS. 2 and 3 for a detailed description ofthe encoder circuits. This is then followed with a detailed descriptionwith reference to FIGS. 4, 5, and 6 relative to the decoder circuits.

ENCODER CIRCUITRY

Reference is now made to FIG. 2 as well as to the waveforms of FIG. 3for a detailed description of the encoder circuitry together with thecommon encoder control. The encoder circuitry illustrated is that forencoder EN-10, it being understood that the circuitry be employed inencoders EN-1 through EN-9 are identical.

The shift register SR-1 receives input data as a continuous stream ofdigital data at a rate which may be as high as on the order of 20million bits per second. This then establishes the rate of the inputclock applied to the shift register. This clock rate will be referred tohereinafter as clock rate 10D. The shift register SR-1 is a series-inparallel-out shift register and, hence, bit position 10 (for channel 10)receives one bit for each ten input clock pulses at a rate of 10D.Consequently then, bit position 10 may be shifted out and loaded into aseries in-parallel output shift register 20 within the encoder EN-10 ata rate of one-tenth the input clock rate. For this reason, the inputclock is supplied to a divide-by-ten circuit 22 so as to obtain a clockrate of 1.0 D and this is used as the shift clock pulses to the shiftinput register 20. This clock will be referred to hereinafter as theencoder data clock ECKD or sometimes referred to as the NOT encoded dataclock ECKD. The encoder data clock has a clock rate of one-tenth therate of the input data stream. Each data bit from the position 10 ofshift register SR-1 is shifted in series into the 7-bit seriesin-parallel output shift register 20 at the encoder data clock rate.This takes place in each of the other encoders. A divide-by-sevencircuit 24 in the common encoder control CEC provides a write strobesignal WSTB each time seven encoder data clock pulses ECKD have beencounted. This is used to actuate the load input of a parallel input,parallel output 8-bit shift register 26. At this time, shift register 26receives the seven bits previously loaded in the shift register 20together with a parity bit, in the least significant bit position, fromparity generator 28. The parity generator operates in a conventionalfashion and examines the seven bits in the shift register 20 and makes aparity decision and then provides a parity bit of either a binary "1" ora binary "0" level in a known manner. Upon actuation of the load inputof register 26 by the write strobe signal WSTB, the parity bit as wellas the seven data bits in register 20 are loaded into the 8-bit register26. This now constitutes an 8-bit word which may now be written into abuffer memory 30.

Preferably, the buffer memory takes the form of a conventionalrandom-access memory and, for example, is capable of loading 8-bit wordsand has a word capacity on the order of 63 words. As is conventional, awrite operation requires that a read/write line R/W be low (see FIG. 3)for a writing operation and be high for a reading operation. The addressat which the read or write operation takes place is obtained by way ofan address select multiplexer 32. This multiplexer provides addressesfrom either a write word counter 34 or from a read counter 36 under thecontrol of an address select ASEL gating signal. When the address selectline ASEL is high, the write counter 34 provides the address through theaddress select multiplexer 32 to the memory 30. When the address selectsignal ASEL is low, then the count in the read counter 36 is providedthrough the multiplexer 32 to provide the address for the memory 30. Theaddress select signal ASEL and the read/write signal R/W are obtainedfrom a timing and control circuit 38 which provides these signals in amanner to be discussed hereinafter with reference to the waveforms ofFIG. 3. Each time the read/write line R/W is low, an 8-bit word inregister 26 is loaded into memory 30 at an address obtained from thewrite counter 34.

During a read operation, the timing and control circuit 38 lowers itsload request line LDERQ. This actuates the load input of a parallel-inseries-out shift register 40 so as to receive an 8-bit word from thebuffer memory 30. However, this also requires that the read/write lineR/W be raised so as to provide a read function. Also, the address selectline ASEL must be low in order for the read address to be obtained fromthe read counter 36 by way of the multiplexer 32. The properly addressedlocation in the memory will provide an 8-bit word which will be loadedin parallel into the parallel input-series output shift register 40.When the load request line LDREQ is again raised, it actuates theregister 40 to a series output shift operation permitting the 8-bit wordpreviously stored to be shifted out in bit serial fashion by clockpulses applied to the shift input of the register and at a rate inaccordance with those clock pulses. These are the encoded clock pulsesECKE which are provided by a clock converter CC and have a clock rate of1.2 D where D is the data clock rate at which data was originallyshifted into the seven digit register 20. This difference in clock rateswill be discussed in greater detail below.

As the 8-bit word in register 40 is being shifted in bit serial fashionout of the register, it is supplied through a multiplexer 42 under thecontrol of a sync select line SSEL and, thence, is gated through a JKflip-flop 44 at the rate of the encoded clock pulses ECKE.

From the discussion given thus far, it is apparent that an incoming dataframe applied to the shift register 20 is defined as 60, 7-bit words fora total of 420 bits. A parity bit is added to each seven-bit word andthe data outputted from the flip-flop 44 also includes a 24 bit syncword. This provides a total of 504 bits that must be outputted from theflip-flop 44 during the same time period as 420 bits are being receivedby register 20. This then requires that the encoder data clock ECKD beincreased from the rate of 1D to a rate of 1.2 D in order to provide afaster clock for processing the data. The 1.2 D rate is the ratio of 504bits to 420 bits. This increased rate is obtained by the clock converterCC which receives the encoded clock pulses ECKD at a rate of 1.0 D andthrough a conventional phase lock loop increases the frequency to obtainencoded clock pulses ECKE at a rate of 1.2 D. The clock converterconventionally includes a phase lock loop, employing a phase comparatorfor receiving a clock signal at a given clock rate and then providing anoutput voltage in the form of an error signal which is used to drive avoltage controlled oscillator. The voltage controlled oscillatorprovides an output signal at a frequency dependent upon the magnitude ofthe error voltage. This output signal is then fed back to the phasecomparator through a frequency dividing circuit so that the two inputsto the phase comparator circuit become phase locked, causing the errorvoltage of the comparator to be the exact voltage required for thevoltage controlled oscillator to produce the desired clock rate. In thiscase, the encoded clock signal ECKE is at a clock rate of 1.2 D. Thisclock signal is supplied to the timing control circuit 38 from which(see FIG. 3) there is derived a read/write signal R/W, an address selectsignal ASEL, and a load request signal LDREQ.

The sync word for each channel is a unique 24-bit word and is presetinto a sync word register 50. This register will shift the sync word outin a series stream when clocked by the encoded clock signal ECKE at theencoded rate of 1.2 D. The 24 bit stream known as the sync word SYNWD isapplied through a multiplexer 42 when a sync select line SSEL is raised.As will be discussed later, this is raised during certain counts by thecounter 36.

The write counter 34 counts 60 words from 0 to 59 and the read counter36 counts from 0 through 62 (only 63 words are used in the buffermemory). However, the two counters are clocked at different rates. Thewrite counter 34 is clocked from the divide-by-seven circuit 24 so thatit is up-dated at a rate one-seventh that of the encoder data clock ECKDwhich is at a rate of 1.0 D. The read counter 36 is incremented eachtime the load request line LDREQ is lowered by the timing and controlcircuit 38. This is produced at a rate one-eighth that of the encodedclock signal ECKE which is operating at a clock rate of 1.2 D. Theactual time of occurrence of lowering the load request line ispreferably midway during an encoded clock pulse ECKE as can be seen inthe waveforms of FIG. 3. Thus, midway into the third bit of a bit trainextending from bits 1-8 of the encoded clock ECKE, the timing andcontrol circuit 38 lowers the load request line. The write strobe WSTBis outputted from the divide-by-seven counter 24 to increment the writeword counter 34. The write addresses corresponding with counts 0, 1, and2 are dummy addresses and counter 34 counts only 3 through 62 andrecycles.

The read counter 36 counts a total of 63 words, three words beingreserved for the sync word at counts 0, 1, and 2 and the 60 data wordsin sequence being count words 3-62. Thus, when the read counter 36 isincremented to a count 3, it is addressing that first data word storedin the buffer memory 30 and at a count of 62, it addresses the last or60th data word. During counts 0, 1, and 2 of the read counter 36, thesync select line SSEL is raised and this actuates the multiplexer 42 sothat it passes only the sync word SYNWD which is clocked through by theencoded clock pulses ECKE and the encoded clock rate of 1.2 D. Theencoded clock pulses ECKE are also supplied to the clock input of a JKflip-flop 44 so that the pulses will be clocked on all data channels insynchronism to thereby insure that the bits in the ten channels arerecorded essentially simultaneously. Once the sync word has been clockedthrough the multiplexer, the sync select line SSEL is lowered and themultiplexer 42 passes only data words which are shifted out of theregister 40 by the encoded clock pulses ECKE at the encoded rate 1.2 D.

DECODER CIRCUITRY

Reference is now made to FIGS. 4, 5 and 6 for a detailed description ofthe decoder circuitry. In FIG. 4 there is illustrated the decodercircuitry for decoder DE-10 (it being understood that the other decodersDE-1 through DE-9 are identical), together with the circuitryconstituting the common decoder control CDC (see FIG. 1). The decodercircuitry serves to obtain data from its associated channel read head,such as read head RD-10 for channel 10, recover the clock rate from thedata being received, remove the parity bits and the synchronization wordand output the data by way of the output shift register SR-2. Thecircuitry within the dotted line of FIG. 4 constitutes the circuitrywithin the decoder DC-10 and the remaining circuitry in this figure isthe common decoder control CDC (FIG. 1).

The data obtained from the read head as the tape is being moved by itstransport system is supplied through a data detector 100. The output ofthe detection is provided in an NRZ-L (non-return to zero) format. Thismay take the form of a conventional data detector circuit and in thepresent case, includes both a low threshold detector as well as a highthreshold detector. Each bit is examined and those that have a magnitudeexceeding the high threshold are supplied only to a bit synchronizercircuit 102, whereas those that exceed the low threshold are supplied toboth the bit synchronizer circuit 102 as well as to an 8-bit seriesin-parallel out shift register 104. The low data bits are clocked intothe series in-parallel output shift register 104 under control of adecoded clock DCKED which is obtained from the bit synchronizer 102.Before continuing with the description of FIG. 4, attention is nowdirected to the bit synchronizer 102 which is illustrated in greaterdetail in FIG. 5.

The bit synchronize 102 (FIG. 5) uses the low data pulses to generatethe decoded clock DCKED discussed above as well as additional clocksDCKE0, DCKE9, and 8DCKEX. These various clocks are used in thedescription which follows relative to the remaining portions of FIG. 4.The bit synchronizer employs a phase lock loop PLL to generate the clockpulses discussed above. The phase lock loop includes a phase comparator110 which receives pulses from a one-shot circuit 112. The one-shotcircuit is, in turn, fed by the threshold transitions from the low databit pulse train from the data detector circuit 100. Thus, each pulsetransition which exceeds the low threshold is supplied through anenabled AND gate 114 and thence through an OR gate 116 to trigger theone-shot circuit 112. The pulses received by the phase comparator fromthe one-shot circuit 112 provide an error signal on the output of thephase comparator and this is of a voltage level which causes the voltagecontrolled oscillator 118 to produce a train of pulses referred to asclock pulses 8DCKEX. The output of the voltage controlled oscillator 118is supplied to a divide-by-eight counter 120 which divides the outputtedclock rate by a factor of eight and supplies this to the second input ofthe phase comparator 110. The phase comparator then develops an errorsignal in accordance with any phase difference between pulses suppliedby the one-shot 112 and the pulses obtained from the divider circuit120. This error signal is thus driven so as to be at a voltage necessaryfor the voltage controlled oscillator to produce the desired clock rate;in this case, eight times the input clock rate. The divide-by-eightcounter is used to provide clock pulses DCKE0 at a zero degrees phaseand clock pulses DCKE9 at a 90° phase. These two outputs of the dividermay be combined by combiner 121 so as to obtain a 270° phase clocksignal DCKED.

The bit synchronizer circuit 102 also includes hand-over circuitry whichis illustrated in the lower portion of FIG. 5. The bit synchronizer usesthe low threshold signal to recover the clock so long as the highthreshold signal is active. However, when the high threshold signalfalls below its trigger level due to a tape flaw or the like, a channelchange-over takes place in that the bit synchronizer will use an eighttimes clock from one of two adjacent channels. This function isaccomplished by the circuitry in the lower portion of FIG. 5. The highthreshold output of the data detector takes the form of thresholdcrossings and these crossings or pulses are supplied to a one-shotcircuit 140. The one-shot circuit serves to shape the pulses and supplythem to the reset input of a resettable counter 142. This counterreceives a count input signal from the counter in the detector circuit(FIG. 4) with each count signal taking place once for each 8-bits ofdata obtained from the low threshold output of the data detector. Thecounter counts to a total count of three, unless it has been reset bythe one-shot circuit 140 which produces a reset pulse each time the bitlevel is in excess of the high threshold level. In the case of a badtape flaw or the like, the threshold may not be passed for a total of 24data bits or three counts on the write counter and this will causecounter 142 to produce a NOT reference high signal and thereby raise thesignal level on its output line REFX. This signals the hand-overcircuitry that a tape flaw has taken place in the channel associatedwith that decoder. This also indicates that the clock derived by thatdecoder may not be proper and, hence, the circuit should not rely on theclock pulses supplied by the low output of the data detector to thephase comparator 110. Transfer is now made to one of the adjacentchannels.

The two adjacent channels may be considered as the Y channel and the Zchannel for this discussion. The Y channel also produces a NOT referencehigh on its output REFY as well as a Y channel eight times clock signal8DCKEY. Also, the other channel provides similar inputs to the bitsynchronizer in the form of a NOT reference high signal REFZ and aneight times clock signal 8DCKEZ. The preferred substitute clock is thattaken from the Y channel and, hence, the preferred clock is 8DCKEY. Ifthe Y channel has not raised its NOT reference high line REFY, then thisbinary "0" level is inverted by an invertor 150 and a binary "1" signalis supplied to enable an AND gate 152. This permits the eight timesclock pulses from channel Y to be clocked through the AND gate 152 and,thence, through an OR gate 154. These clock pulses are then divided by adivide-by-eight counter 156 so as to obtain at one times clock pulsetrain which is then supplied through an AND gate 158. This AND gate isenabled whenever the REFX line is raised by counter 142. The clockpulses passed by the AND gate 158 are now supplied through OR gate 116to the one-shot circuit 112. If the REFX line is raised, it will disableAND gate 114 by supplying a binary "1" signal by means of invertor 160to disable AND gate 114. To maintain the operation in synchronism, thephase zero output of the divide-by-eight counter 120 is supplied throughan one-shot circuit 162 to the reset input of the divide-by-eightcounter 156 in the hand-over circuit. In the event that a tape flaw orthe like caused the REFY line to be raised, then the hand-over circuitwould look to the next channel clock. Thus, if the REFY line is raised,this would enable AND gate 164 and if the REFZ line is not raised, thenan invertor gate 166 would supply a binary "1" signal to the AND gate tothereby pass the eight times Z clock pulses 8DCKEZ through the AND gate164 and, thence, through OR gate 154 to the divide-by-eight counter 156.

The data taken from the low threshold output of the data detector 100 isclocked into series connected shift registers 104 and 170 by the decodedclock pulses DCKED. These pulses exhibit a clock rate which may beconsidered as 1.2 D'. The clock rate of 1.2 D at which the encodershifted pulses through the JK flip-flop 44 (FIG. 2) is not equal to theclock rate 1.2 D' at which pulses are shifted into registers 104 and170. Thus, it will be recalled that a computer cannot receive in realtime a data stream exhibiting a clock rate on the order of 20 millionbits per second, but is limited to some lower clock rate such as on theorder of less than 1 million bits per second. The rate D' may beproportional to the rate D and is substantially less. The actual valueof rate D' depends largely upon the transport speed at which the tape isbeing driven during the read operation.

Registers 104 and 170 are respectfully 8-bit and 16-bit seriesin-parallel output shift registers. Together they comprise what may beconsidered as a 24-bit series in-parallel output shift register. Data isclocked into these registers until the registers are occupied by the24-bit sync word and this is detected by a sync word detector 172. Sucha detection is designated by the sync word detector raising its SYNEQline. This signals that the sync word has been detected and the signalis applied to a write timing and control circuit 174 and to a lockdetector 176. The lock detector is a counting circuit and requires thatfour sync words be detected and then the lock detector provides anoutput designating this to a master lock detector 178 located in thecommon decoder control circuit CDC. Adfter detection of the first syncword, the lock detector provides a window of 29 bits in duration suchthat the window takes place at the anticipated time of reoccurrence of a24 bit sync word. When all of the lock detectors in all of the decodershave detected four sync words, then the master lock detector 178produces a master lock signal MSTLK which is applied to a common readtiming and control circuit 180. The read timing and control circuit, inturn, has an output circuit which normally carries a write disablesignal which disables the write function in all of the channel decodercircuits. In addition, the read timing and control circuit provides readcontrol signals including a read byte clock RBYCK, a read strobe signalRDSTB, a read clock signal RDCK, and a read bit clock RDBT6. These areall generated based on a five times clock signal 5DCKD and a clocksignal DCK0, both applied to the read timing and control circuit 180from a reproduce clock synthesizer circuit 182.

The synthesizer circuit 180 receives the clock signal DCKE0 from the bitsynchronizer circuit 102 to generate various clocks. It will be recalledthat the bit synchronizer developed the clock signal DCKE0 from the bitstream detected by the data detector 100. Consequently then, we canconsider that this clock corresponds to 1.2 D' where D' differs from D(in the encoder) dependent upon the transport speed. The synthesizerconverts the 1.2 D' clock rate to a 1.0 D' clock rate (in the form ofdata clock DCKD0), or a five times data clock 5DCKD, or a ten timesclock 10DCKD. The five times clock 5DCKD as mentioned previously, issupplied to the read timing and control circuit 180 and is also suppliedto the write timing and control circuit 174 within the channel decoder.The ten times clock 10DCKD is supplied as a shift clock for the outputshift register SR-2.

Within the decoder circuit, the write timing and control circuit 174uses clock signals DCKE0 and DCKE9 obtained from the bit synchronizer102, the five times data clock rate signal 5DCKD obtained from thesynthesizer 182, the write disable signal WDIS obtained from the readtiming and control circuit 180, and the synchronization detection signalSYNEQ obtained from the sync word detector 172. From these inputs thewrite timing and control circuit provides various write control signals.Reference should be made to FIG. 6, and particularly the lower portionthereof to see the manner in which these various signals are derived.

The write timing and control circuit provides a write strobe signal WSTBwhich is supplied to an 8-bit parallel input-parallel output shiftregister 190 so that the first word after detection of a sync word willbe loaded into the shift register 190, thereby supplying the data wordto be loaded into a particular address of a buffer memory 192. Theaddress at which the data word is loaded is obtained from a writecounter 194 through an address select multiplexer 196 which passes thecount from the write counter when a memory read line MREN is raised (seeFIG. 6) by the write timing and control circuit 174. The write counter194 is incremented by the write timing and control circuit 174 each timea write operation is conducted and the counter is used to provide atotal of 60 counts each being one of the 60 addresses in the frame ofdata being received from the tape.

The multiplexer 196 supplies the address in the write counter 194 to thememory 192 only when the write timing and control circuit raises itsmemory read enable line MREN (see FIG. 6). Also, the data obtained fromregister 190 will only be written into this address in the memory whenthe write timing and control circuit 174 lowers its read/write line R/W;this takes place only during the period that the memory read enable lineis raised (see the timing chart of FIG. 6). From the foregoing then, itis seen that after a sync word has been detected, an operation willcommence so that the next word following the sync word will be strobedinto the parallel input-parallel output shift register 190 and thenwritten into the memory 192 when the read/write line R/W is low and theaddress at which the data word is written into is obtained from thewrite counter 194.

The memory 192 is preferably a random-access memory and, for example, iscapable of storing 63, 8-bit words received from register 190. The writecounter supplies addresses to the memory such that the three sync wordsare stored in word locations 0, 1, and 2 and then the 60 data words thatfollow are stored in word locations 3-62. Also, the write countersupplies a window signal to a bit slip detector during counts 0, 1, and2. If the SENEQ word and the window signal are not coexistent duringthis period, then this is an indication that there may be one or morebits out of alignment. In such case, the bit slip detector raises itsBIT SLIP line to provide a bit slip indication, such as to a computerreceiving the output data stream.

The read operation of memory 192. In order to output data by way ofregister SR-2, will take place after the lock detector 176 in eachchannel has detected four successive sync words. The sync words aredetected and this is indicated to the lock detector 176 when the syncdetection line SYNEQ is raised. The lock detector circuit 176 includescounting circuits so as to count the four sync word detections. Oncethis has taken place, the lock detector provides an indication on itsoutput to the master lock detector 178. Once all of the lock detectorshave provided this signal, then the master lock detector 178 raises itsmaster lock line MSTLK which is supplied to the timing and controlcircuit 180. Before read operation takes place, however, the read timingand control circuit 180 awaits a read enable signal RENXX from one ofthe channel write counters 194. This signal is provided by the firstwrite counter in the various channel decoders to reach a specific countafter the master lock signal takes place. The purpose of this delayfunction is to compensate for both static and dynamic skew so that thedata can then be reassembled into a proper serial data stream.

As will be recalled from the discussion with reference to FIG. 1, thesync words may be out of skew from each other. In the example beinggiven, it has been determined that the maximum skew throughout the tenchannels will be on the order of 100 data bits. Consequently then, thisfactor must be taken into consideration in providing offset compensationfor skew. Also, other factors in determining the offset must beconsidered. This includes the three sync words for a total of 24 bitstogether with 60 parity bits.

The offset required must consider a maximum skew of 100 bits (12.5bytes), 60 bits of parity and 24 for sync words (a total of 10.5 bytes).In addition, the first word data is located at address 3. Also, it ispreferable to provide some centering in determining the offset.Consequently, in the example being given, the offset selected is a writecount of 50. By this it is meant that after the master lock detectorsignal MSTLK is provided, the read timing and control will wait untilone of the write counters 194 in the various channel decoders reaches awrite count of 50. The first write counter to obtain this count willprovide a read enable signal RENXX to the read timing and controlcircuit 180. The read timing and control circuit will now provide readsignals and control signals. These include a read byte clock RBYCKsupplied to a read counter 200 located in the common decoder controlCDC, a read strobe signal supplied to a parallel input-parallel output8-bit shift register 202, a read clock signal RDCK supplied to a 7-bitparallel input-serial output shift register 204, and a load controlsignal RDBT 6 supplied to the parallel input-serial output shiftregister 204 and to a parity detector 206. The read counter isinitialized so that the first address provided is the first data addressor location 3.

The counter 200 counts a total of 60 counts, i.e., from count 3 to count62 and then recycles. The read counter is common to all of the decodersand, hence, all channel memories 192 are simultaneously addressed. Sincethe memory read enable line MREN is now low, the memory address selectmultiplexer 196 will pass the counts supplied to the read counter 200.The first count, i.e., memory address 3, is supplied to the multiplexerto address the third word location in the buffer memory 192. This is thefirst data word in the memory. At this time, the read/write line R/W ishigh permitting a read operation to take place. (See the waveforms inFIG. 6). Consequently, the first data word is read out of the buffermemory 192. It will be loaded into the parallel input-parallel outputshift register 202. From the waveforms of FIG. 6, it will be noted thatthe contents of this register are shifted out of the register by a readstrobe signal RDSTB before the read byte clock signal RBYCK indexes theread counter 200. The data word loaded into the shift register 202 issupplied to a parity detector 206 which examines the parity bit andprovides a parity error signal dependent on the examination. This isconventional in the art. In addition, the 8-bit word in the register 202is supplied to a 7-bit parallel input-parallel output register 204 insuch a manner that the parity bit is lost. This then provides only sevenbits of data into the register 204. Thereafter, the 7-bit word isclocked out in series by the data clock pulses RDCK at a rate of 1D' sothat the seven bits are shifted into the output parallel input-seriesoutput shift register SR-2. This register is loaded in parallel from theten channels whenever the shift line S-L is low (see FIG. 6).Thereafter, when the shift line S-L is raised, the data stored in theshift register SR-2 is clocked out in series by the ten times clockpulses 10DCKD at a rate of 10D'.

Although the invention has been described in conjuction with a preferredembodiment, it is to be appreciated that the invention is not limitedthereto as various modifications may occur within the spirit and scopeof the appended claims.

What is claimed is:
 1. A method of receiving a continuous stream ofdigital data at a first data rate and outputting the data at a higherrate without loss of information, comprising the steps of:receiving aninput frame of bit series digital data in a continuous stream and at afirst bit rate D and wherein said frame includes S digital words whereeach word includes N bits; dividing said digital data into said words ofN bits; adding a parity bit to each said word so that each word containsN+1 bits; storing said S words in sequence in S different locations in afirst read/write memory means; reading out said data from said memory;adding a bit series sync word (N+1)R bits, where R is an integer, tosaid read-out data such that an output data frame includes, in bitseries, said sync word and S data words each having N+1 bits; and,outputting said output data frame in bit series fashion in a continuousstream at a second bit rate E, where ##EQU1##
 2. A method of receiving acontinuous stream of digital data at a first data rate and outputtingthe data at a higher rate without loss of information, comprising thesteps of:receiving an input frame of bit series digital data in acontinuous stream and at a first bit rate D and wherein said frameincludes S digital words where each word includes N bits; dividing saiddigital data into said words of N bits; adding a parity bit to each saidword so that each word contains N+1 bits; storing said S words insequence in S different locations in a first read/write memory means;reading out said data from said memory; adding a bit series sync word of(N+1)R bits, where R is an integer, to said read-out data such that anoutput data frame includes, in bit series, said sync word and S datawords each having N+1 bits; outputting said output data frame in bitseries fashion at a second bit rate E, where ##EQU2## recording saidoutput data frame in bit series on a recording medium at said bit rateE; reading said recording medium at a bit rate E' where E' isproportional to E, to reconstruct said data frame in bit series fashionso that said reconstructed frame includes a said sync word having R(N+1)bits and S data words, each having N+1 bits; receiving said data framein bit series at said bit rate E'; detecting said sync word and thenstoring said S data words and said sync word in sequence in a secondread/write memory means; reading said data out of said second memorymeans to form a reconstructed data frame having only said S words witheach word having only N bits; and, outputting said reconstructed dataframe in bit series fashion at a reconstructed bit rate of D', where##EQU3##
 3. A method of reconstructing digital data recorded on arecording medium in bit series fashion at a bit rate E and wherein saiddata is recorded in frames with each frame including S digital wordseach having N+1 bits and a sync word having R(N+1) bits, where R is aninteger;reading said recording medium at a bit rate E' where E' isproportional to E to reconstruct said data frame in bit series fashionso that said reconstructed frame includes a said sync word having R(N+1)bits and S data words, each having N+1 bits; receiving said data framein bit series at said bit rate E'; detecting said sync word and thenstoring said S data words and said sync word in sequence in a secondread/write memory means; reading said data out of said second memorymeans to form a reconstructed data frame having only said S words witheach word having only N bits; and, outputting said reconstructed dataframe in bit series fashion in a continuous stream at a reconstructedbit rate of D' where ##EQU4##
 4. A method of receiving a continuousstream of digital data at a first data rate and outputting the data at ahigher rate without loss of information, comprising the stepsof:receiving a single channel of digital data in a continuous stream inbit series at a bit rate of CD; dividing said data into C bit serieschannels each having a bit rate of D; for each channel:receiving aninput frame of bit series digital data at said bit rate D and whereinsaid frame includes S digital words where each word includes N bits;dividing said digital data into S words of N bits each; adding a paritybit to each said word so that each word contains N+1 bits; storing saidS word in sequence in S different locations in a first read/write memorymeans; reading out said data from said memory; adding a bit series syncword of (N+1)R bits, where R is an integer, to said read-out data suchthat an output data frame includes, in bit series, said sync word and Sdata words each having N+1 bits;outputting said output data frame in bitseries fashion at a bit rate E, where ##EQU5## simultaneously recordingsaid output data frames for said C channels on respective ones of Crecording tracks on a recording medium such that said sync words of saidchannels are in alignment and are each followed by S data words inalignment.
 5. A method as set forth in claim 4 including the furthersteps of:simultaneously reading said C recording tracks on saidrecording medium at a bit rate E' where E' is proportional to E toreconstruct the data frames for each channel such that eachreconstructed frame includes a said sync word having R(N+1) bits, whereR is an integer, and S data words, each having N+1 bits; for eachchannel detecting a said sync word and then storing said S data wordsfor that channel in sequence in an associates channel read/write memorymeans; determining when all said channel sync words have been detectedand then continuing said sequential storing of data words in saidassociated memories until a predetermined number in the sequence of saiddata words after the sync word, has been reached; then simultaneouslyand separately reeding all of said channel memory means in sequence froma preselected data word location until all of said S data words havebeen read out to form C reconstructed data frames with each having onlyS words of N bits each; outputting each said data frame in bit series ata reconstructed bit rate of D, where ##EQU6## recombining said C bitseries channels into a single channel of digital data at a bit rate ofCD.